package com.wz.project.pda.service;

import com.wz.framework.web.domain.AjaxResult;
import com.wz.project.api.barcode.domain.Barcode;
import com.wz.project.api.barcode.domain.BarcodeInfo;
import com.wz.project.api.barcode.domain.MatnrInfo;
import com.wz.project.api.tmsMatnr.domain.TmMatnr;
import com.wz.project.barcodeMsg.domain.BarcodeMsg;
import com.wz.project.inStock.stockindetail.domain.InStockinDetail;
import com.wz.project.mydo.domain.MydoJobDetail;
import com.wz.project.stock.stockdetail.domain.BasStockDetail;

import java.util.List;
import java.util.Map;

public interface PdaServicePk {

    /**
     * 条码采集
     * @param barcodeMsg
     * @return
     */
    public AjaxResult barcodeMsgAdd(BarcodeMsg barcodeMsg);

    /**
     * 新增库存
     * @param trayCode
     * @param cargoSpaceId
     * @param barcode
     * @return
     */
    AjaxResult addStock(String trayCode, String cargoSpaceId, String barcode);

    /**
     * 条码扫描
     * @param tmMatn
     * @return
     */
    Map selectTmsMsgSH(TmMatnr tmMatn);
    /**
     * 收货确认
     * @param tmMatn
     * @return
     */
    AjaxResult sureSH(TmMatnr tmMatn);

    /**
     * 自动分配
     * @param tmMatnr
     * @return
     */
    Map autoAllocation(TmMatnr tmMatnr);

    /**
     * 出库确认
     * @param tmMatn
     * @return
     */
    AjaxResult sureOut(TmMatnr tmMatn);

    /**
     * 立库确认上架信息
     * @param trayCode
     * @param quantity
     * @param fbarcode
     * @return
     */
    AjaxResult insetMydoJob(String trayCode, String quantity, String fbarcode);
    AjaxResult insetMydoJobcppk(String trayCode, String quantity, String fbarcode,String cargoSpaceId);

    /**
     * 上架完成查询
     * @param trayCode
     * @param status
     * @return
     */
    int selectJobByTray(String trayCode, String status);

    /**
     * 立库上架确认
     * @param trayCode
     */
    int updateJobStatus(String trayCode);

    /**
     * 平库确认上架信息
     * @param trayCode
     * @param quantity
     * @param fbarcode
     * @return
     */
    AjaxResult insertMydoJobFinish(String cargoSpaceId, String fbarcode, Integer quantity, String trayCode);

    /**
     * 任务完成
     * @param trayCode
     */
    void completeJob(String trayCode);

    /**
     * 配套信息查询
     * @param basStockDetail
     * @return
     */
    Map selectTmsMsgCg(BasStockDetail basStockDetail);

    /**
     * 空托盘入库
     * @param trayCode
     * @param quantity
     * @return
     */
    AjaxResult jobTpAdd(String trayCode, int quantity);

    /**
     *
     * @param exit_id
     * @param quantity
     * @return
     */
    AjaxResult jobTpOut(String exit_id, int quantity);

    /**
     * 成品上架信息查询
     * @param basStockDetail
     * @return
     */
    Map selectTmsMsgSc(BasStockDetail basStockDetail);
    /**
     * 成品上架信息查询
     * @param basStockDetail
     * @return
     */
    Map selectTmsMsgScDj(BasStockDetail basStockDetail);
    /**
     * 已绑定托盘信息查询
     * @param basStockDetail
     * @return
     */
    Map selectMsgTrayCode(BasStockDetail basStockDetail);


    void finishPK();
    void wms_data_in_del();


    void wcs_mantr();
}
